package com.hua.api.modules.order.service.dto;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;

//
@Data
public class SelfOrderDto implements Serializable {

    //
    /** 单号 */
    private Long id;

    /** 用户id */
    private Integer userId;

    /** 订单号 */
    private String orderNo;

    /** 展示订单号 */
    private String showOrderId;

    /** 订单渠道 */
    private String source;

    /** 我方shop_id */
    private Integer shopId;

    /** 三方门店id */
    private String shopCode;

    /** 门店名称 */
    private String wmPoiName;

    /** 门店地址 */
    private String wmPoiAddress;

    /** 门店电话 */
    private String wmPoiPhone;

    private String province;

    private String city;

    private String area;

    /** 收货地址 */
    private String recipientAddress;

    /** 收货人电话 */
    private String recipientPhone;

    /** 备用隐私号码 */
    private String backupRecipientPhone;

    /** 收货人姓名 */
    private String recipientName;

    /** 配送费用 */
    private Double shippingFee;

    /** 订单支付金额 */
    private Double total;

    /** 平台抽成（美团 ele等收取） */
    private Double channelFee;

    /** 服务抽成 */
    private Double serviceFee;

    /** 商家预计收入 */
    private Double realMoneyYuan;

    /** 订单总原价 */
    private Double originalPrice;

    /** 订单备注信息 */
    private String caution;

    /** 配送员 */
    private String shipperName;

    /** 配送员电话 */
    private String shipperPhone;

    /** 订单状态 1-用户已提交订单；2-向商家推送订单；4-商家已确认；8-订单已完成；9-订单已取消。 */
    private Integer status;

    /** 城市id 暂无需使用 */
    private Integer cityId;

    /** 是否有发票 */
    private Integer hasInvoiced;

    /** 发票抬头 */
    private String invoiceTitle;

    /** 纳税人识别号(暂无需使用) */
    private String taxpayerId;

    /** 订单创建时间，为10位秒级的时间戳 */
    private Date ctime;

    /** 订单更新时间 */
    private Date utime;

    /** 预计送达时间 */
    @JSONField(format = "yyyyy-MM-dd HH:mm:ss")
    private Date deliveryTime;

    @JSONField(format = "yyyyy-MM-dd HH:mm:ss")
    private Date lastDeliveryTime;//预计送达时间

    /** 是否第三方配送 */
    private Integer isThirdShipping;

    /** 支付类型 */
    private Integer payType;

    /** 取货类型 */
    private Integer pickType;

    /** 纬度 */
    private Double latitude;

    /** 经度 */
    private Double longitude;

    /** 地图坐标系 */
    private String geoType;

    /** 当日订单流水号 */
    private Long daySeq;

    /** 是否是新客 */
    private Integer isPoiFirstOrder;

    /** 是否是预售单 */
    private Integer isPreSaleOrder;

    /** 订单预计送达时间 */
    private Integer estimateArrivalTime;

    /** 优惠信息JSON */
    private String extras;

    /** 预订人电话号码 */
    private String orderPhoneNumber;

    /** 配送渠道三方订单号 */
    private String logisticsCode;

    /** 配送状态 */
    private Integer logisticsStatus;

    /** 配送距离(米) */
    private Long distance;

    /** 是否扫码配送 */
    private Integer scanDeliverFlag;

    /** 扫码配送的二维码内容 */
    private String scanDeliverQrContent;

    /** 打印次数 */
    private Integer printTime;

    /** 卡片内容 */
    private String cardText;

    /** 打印卡片次数 */
    private Integer printCardTime;

    private List<SelfOrderItemDto> list;




}
